module.exports = (app) => class BaseController {
    /**
     * controller的基类
     * 集合controller所有的公共方法，让子类方便使用
     */
    constructor() {
        this.app = app
        this.service = app.service
        this.config = app.config
    }
    /**
     * api处理成功时返回的数据结构
     * @param {object} ctx 上下文
     * @param {object} data 返回的数据
     * @param {object} metadata 附加数据
     */

    success(ctx, data = {}, metadata = {}) {
        ctx.status = 200;
        ctx.body = {
            success: true,
            data,
            metadata
        }

    }

    /**
     * api处理失败返回的数据结构
     * @param {object} ctx 上下文
     * @param {object} msg 返回的错误信息
     * @param {object} code 返回的错误码
     */
    fail(ctx, msg, code = 0) {
        ctx.status = 200;
        ctx.body = {
            success: false,
            msg,
            code
        }

    }


}